1. Field of the Invention
This invention relates generally to computer peripheral devices, and more particularly to methods and apparatus for sharing peripheral devices connected to one networked computer with other networked computers.
2. Description of the Related Art
Recently, computer users have enjoyed substantial flexibility in the way their computers are equipped. This flexibility is primarily due to the increased use of peripheral devices, which allow computer users to purchase only those hardware devices that make sense for their particular work requirements. In fact, the variety of available peripheral devices is ever increasing, which necessarily requires that they be well integrated with the computer""s existing software. Although most peripheral device manufactures are able to provide excellent software drivers that enable the full functionality of the peripheral devices when they are connected to a local computer, other networked computers are not always able to fully access or utilize the peripheral devices connected to other computers on a shared network.
FIG. 1 is a network diagram 10 having a number of computers 12a through 12d coupled together via a file server 14. In this configuration, each of the computers may communicate with each other, as well as share and use information stored on the file server 14. Conventionally, each of the computers may have a host adapter that enables the computer to connect up to external peripheral devices. As shown, computer 12a has a host adapter 16a which is used to connect up to peripheral devices, such as a hard drive 22, and a JAZ(trademark) drive 24. Generally, the host adapter 16a is in the form of an adapter card (or PCMCIA card for portable computers) that connects to the computer 12a via a PCI bus or the like.
Similarly, computer 12b has a host adapter 16b which enables computer 12b to communicate to a scanner 18 and an optical drive 20. Although these peripheral devices enable computers 12a and 12b to have extended use and functionality, these peripheral devices are generally not fully accessible to other computers that are connected to the network over the file server 14. For example, even though computers 12c and 12d may conventionally acquire some rudimentary read and write privileges to peripheral devices 20, 22, and 24, they are still not able to issue full standard SCSI commands to those peripheral devices.
Furthermore, neither computer 12a, 12c, nor 12d may gain access or functional use of the scanner 18 that is connected to the computer 12b. This is generally the case because many peripheral devices are not assigned drive letters during boot-up. Such devices generally include scanners, tape drives, CD-R drives, and other SCSI based peripheral devices. As a result, those peripheral devices may not be fully shared over a network of computers, which may necessitate the purchase of a redundant peripheral device (i.e., a scanner) for each local computer system.
Unfortunately, this will drive up the cost of a given network, and may be unsuitable for smaller businesses or home offices where low cost networking solutions are most needed. To partially alleviate this problem, some computer peripheral companies have introduced a solution that enables sharing of such peripheral devices over a network when additional custom hardware circuitry and software is provided. For example, Hewlett-Packard of Palo Alto, Calif., has a hardware solution that requires users to purchase a network box 26 having special hardware to assist in communicating with a host adapter 16c. The network box 26 is then connected to a scanner 28 that is custom designed to interface with a network box 26. In some cases, the network box 26 circuitry may be integrated directly into the scanner 28.
Once the scanner 28 has been connected to the file server 14 via the host adapter 16c, the scanner 28 may be shared by other computers that are networked through the file server 14. Although this sharing solution works well in some high-end networks, the cost of sharing peripheral devices, such as scanner 28 over a network may be prohibitively expensive compared to the cost of a conventional peripheral device. Consequently, the scanner 28 and network box 26 solution may not be cost effective for use in smaller networked arrangements or home office use.
In view of the foregoing, there is a need for a method and apparatus that enables networked computers to access peripheral devices that are connected to any one of the respective network computers, without the need for expensive interfacing hardware or custom peripheral devices.
Broadly speaking, the present invention fills these needs by providing a method and apparatus for efficiently communicating and sharing peripheral devices that may be connected to a computer that is networked with other computers that may desire the use of the networked peripheral devices. It should be appreciated that the present invention can be implemented in numerous ways, including as a process, an apparatus, a system, a device, a method, or a computer readable medium. Several inventive embodiments of the present invention are described below.
In one embodiment, a system for sharing peripheral devices over a network is disclosed. The system includes a first computer having at least one peripheral device, and a second computer that is networked to the first computer. The second computer is configured to send a request to use the at least one peripheral device over the network, and the request is processed to determine whether the second computer has sharing privileges to use the at least one peripheral device. Furthermore, the first computer is configured to grant access to the request of the second computer if the second computer has the sharing privileges that enable access to the at least one peripheral device. In this embodiment, the first computer acts as a Server that can share its peripheral devices, and the second computer acts as a Client that access the Server""s peripheral devices.
In another embodiment, a method for sharing peripheral devices over a network is disclosed. The network has a first computer that includes a first host adapter and a first SCSI peripheral device that is connected to the first host adapter. The method includes receiving a request to use the first SCSI peripheral device from a second computer that is connected to the network, and determining whether the second computer has access privileges to use the first SCSI peripheral device. The method further includes connecting the second computer to the first SCSI peripheral device if the second computer has access privileges to use the first SCSI peripheral device. Preferably, the method also includes determining whether a third computer is currently reserved to use the first SCSI peripheral device, and when the third computer is currently reserved to use the first SCSI peripheral device, the request to use the first SCSI peripheral device is placed in a queue.
In yet a further embodiment, an apparatus for sharing peripheral devices over a network that includes a first computer that has a first SCSI peripheral device is disclosed. The apparatus includes means for receiving a request to use the first SCSI peripheral device from a second computer that is connected to the network. Means for determining whether the second computer has access privileges to use the first SCSI peripheral device. The apparatus further includes means for connecting the second computer to the first SCSI peripheral device if the second computer has access privileges to use the first SCSI peripheral device. In this embodiment, the first computer acts as a server that can share the first SCSI peripheral device with the second computer that acts as a client.
Other aspects and advantages of the invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the invention.